A single computer often has several application programs, such as conventional word processors, spreadsheets, publishing programs, electronic mail and graphics programs. The computer also has one or more system programs, such as DOS, Windows, or Pen-based programs. Some or all of these programs may require or simply benefit from some text processing capabilities. Among the many text processing capabilities are text checking functions, such as spell checking, grammar checking, hyphenation checking and a thesaurus.
Currently, each program with text processing capabilities has its own text checking functions incorporated into its main program. Often the text checking functions for each program are substantially identical, resulting in unnecessarily duplicative storage. Many text checking functions are memory intensive, which results in a greatly increased need for additional memory space to store the application programs.
To stay apace the highly competitive software market, the producers of a program must constantly update the program. When a producer of a current program desires to update one of its text checking functions, it must produce a new version of its entire program. Conversely, when the producer desires to update its program, it must include code for the text checking functions, even if there is no change in the text checking functions.